package com.wqm.step.common.utils;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class HibernateUtils {

	private static Configuration config;
	private static SessionFactory sessionFactory;
	
	// 创建一个单例的sessionFactory
	static{
		// 这里默认读取的是hibernate.cfg.xml配置文件，还可以自己设置配置文件的位置，这里就不多说了，没多大意义
		//config=new Configuration().configure(File configFile);
		config=new Configuration().configure();
		sessionFactory=config.buildSessionFactory();
	}
	
	/**
	 * 返回一个Session，用于操作数据库
	 * // 例： 保存操作
	 * 		Session session = HibernateUtils.openSession();
	 *		session.save(c);
	 * @return
	 */
	public static Session openSession(){
		return sessionFactory.openSession();
	}
	
	/**
	 * 返回一个绑定线程的Session
	 * @return
	 */
	public static Session getCurrentSession() {
		return sessionFactory.getCurrentSession();
	}
}
